#ifndef __C_GLOBALS_h__
#define __C_GLOBALS_h__
#include "cmanifs.h"

extern STRING   incdir;

extern EXPRPTR  expval[NESTINGDEPTH];
extern int      expvalcnt;
	 /* Used to keep track of the current expression part
	    of a case statement i.e. case <expr> of ... end */

extern int      exprlevel,exprlistcount[NESTINGDEPTH];
	 /* Used to keep count of the number of arguments applied
	    to a function */

extern int      c,peekc;
	 /* c     - used to hold current character
	    peekc - used by input routine to allow a one character
		    lookahead in yylex.c */

extern int     newline;

extern int      startoflex,curr_index,curr_length,in_index;
	 /* Used to store information about the current line and
	    cursor postion. Used to give  pLucid runtime error
	    messages */

extern int      const_list;
	 /* used throughout yylex.c to indicate where or not a list
	    constant is being read or not */

extern int      errcount,false,true;

extern int      l;
	 /*    */

extern int      idcount;
	 /* Keeps count of the number of parameters a function is defined
	    to have. */

extern int     linebuf[BUFFERLENGTH];
	 /* Used to buffer the current line of characters being
	    lexically analysed, from current input file. */

extern FILE     *lexin;
	 /* used to hold the value of the current input file */

extern YYSTYPE  yylval;

struct IN_FILES { FILE   *in_fdes;
	   STRING in_name;
	   int    in_line;
	};

extern struct IN_FILES in_files[NOOFFILES];

extern STRING   s,t;

extern int     buffer[500];

#endif